import { BaseModel } from '@/uni_modules/stars-UniTS-SQLite-ORM/components/stars-UniTS-SQLite-ORM/dbOrm/model/BaseModel';
import { PrimaryKey, NotNull, FieldType } from '@/uni_modules/stars-UniTS-SQLite-ORM/components/stars-UniTS-SQLite-ORM/dbOrm/annotation/Decorators';
import { FieldTypeEnum } from '@/uni_modules/stars-UniTS-SQLite-ORM/components/stars-UniTS-SQLite-ORM/dbOrm/enum/FieldTypeEnum';

/**
 * 这个类的部分字段不符合user表，例如：用户是没有price字段，但是这个表是为了测试字段和注解等功能。
 */
export class User extends BaseModel {
	@PrimaryKey()
	@NotNull()
	@FieldType({ field: 'id', type: FieldTypeEnum.INTEGER })
	id : number;

	@FieldType({ field: 'name', type: FieldTypeEnum.TEXT, length: 255 })
	@NotNull()
	name : string;

	@FieldType({ field: 'age', type: FieldTypeEnum.INTEGER })
	age : number;

	
	@FieldType({ field: 'price', type: FieldTypeEnum.INTEGER })
	price : number;

	@FieldType({ field: 'description', type: FieldTypeEnum.TEXT, length: 255 })
	description : string;
	
	@FieldType({ field: 'createdDate', type: FieldTypeEnum.TEXT, length: 255 })
	createdDate : Date;
}